package jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

/**
 * 执行DML语句-INSERT
 */
public class JDBCDemo2 {
    public static void main(String[] args) throws Exception {
        Class.forName("com.mysql.cj.jdbc.Driver");//因为Java认为万一没有这个类 所以会报错

        //2
        Connection connection = DriverManager.getConnection(
                //数据库地址格式:jdbc:mysql://数据库IP:端口/数据库名?一堆参数
                "jdbc:mysql://localhost:3306/tedu?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true",
                "root",//数据库用户名
                "root"//数据库密码
        );
        System.out.println("成功链接数据库!");

        //3
        Statement statement = connection.createStatement();
        /*向userinfo表中插入一条记录
INSERT INTO userinfo(username, password, nickname, age)
VALUES ('张三','123456','阿三','22')


         */
        String sql = "INSERT INTO userinfo(username, password, nickname, age) " +
                "VALUES ('张三','123456','阿三','22')";
        /*
        int executeUpdate(String sql)
        专门用于执行DML语句的(INSERT,UPDATE,DELETE)
        返回值表达执行该语句后影响了表中多少条记录
        比如插入两个就返回2  不可能返回0 但UPDATE和DELETE都可以返回0 因为有where条件
         */
        int num=statement.executeUpdate(sql);
        if (num>0){
            System.out.println("插入完毕!");
        }
        //最终操作完毕与数据库断开链接
        connection.close();
     }

    }

